Storage subsystems, such as hard disk drives and solid state drives, provide storage media for host processing systems to store and read various data objects. These data objects may include images, videos, word documents, spreadsheets, and various other file types capable of being processed by the host processing system. To make storage media available to the host system, one or more of the subsystems may be communicatively coupled to the system using a Small Computer System Interface (SCSI) bus, a Serial Attached SCSI (SAS) bus, a Serial ATA (SATA) bus, a Peripheral Component Interconnect Express (PCIe) bus, Fibre Channel, or some other similar interface or bus.
Prior to communicatively coupling the storage subsystem to the host processing system, regions within the subsystem may be tested or verified at the manufacturer to ensure that regions are available to the user at the end computing system. Accordingly, any segment or portion of the subsystem that would be unable to store data would not be visible to the user when the subsystem is coupled. However, as drive size and the number of drives produced by the manufacturer has increased, it has become more inefficient to test and verify portions within the subsystems before providing the drive to the end user.
Overview
Examples disclosed herein provide systems, methods, and software to test storage media and storage subsystems upon deployment. In one example, a computer apparatus to test a storage subsystem for a host processing system includes one or more non-transitory computer readable media, and processing instructions stored on the one or more non-transitory computer readable media that direct a processing system to, when deploying the storage subsystem that comprises storage media, initiate a testing process to identify storage blocks in the storage media suitable for storing data for the host processing system. The processing instructions further direct the processing system to, after initiating the testing process, iteratively identify partition availability events. The processing instructions also direct the processing system to, in response to each partition availability event in the partition availability events, make a partition of the storage media available to the host processing system, wherein the partition comprises a collection of storage blocks tested via the testing process and distinct from other storage blocks in partitions previously made available to the host processing system
In another instance, a storage subsystem to test storage media upon deployment includes storage media, and a storage processing system configured to, when deploying the storage subsystem in a computing system with a host processing system, initiate a testing process to identify storage blocks in the storage media suitable for storing data for the host processing system. The storage processing system is further configured to, after initiating the testing process, iteratively identify partition availability events. The storage processing system is further configured to, in response to each partition availability event in the partition availability events, make a partition of the storage media available to the host processing system, wherein the partition comprises a collection of storage blocks tested via the testing process and distinct from other storage blocks in partitions previously made available to the host processing system
In a further example, a host computing system includes a host processing system, and a storage subsystem comprising storage media and a storage processing system, wherein the storage processing system is configured to, when deploying the storage subsystem in the computing system, initiate a testing process to identify storage blocks in the storage media suitable for storing data for the host processing system. The storage processing system is further configured to, after initiating the testing process, iteratively identify partition availability events. The storage processing system is also configured to, in response to each partition availability event in the partition availability events, make a partition of the storage media available to the host processing system, wherein the partition comprises a collection of storage blocks tested via the testing process and distinct from other storage blocks in partitions previously made available to the host processing system.